package com.hhkj.admin.student.service.base;

import com.hhkj.admin.student.model.dopo.StudentLoginLogDo;
import com.hhkj.admin.student.model.dopo.StudentLoginLogPo;
import com.hhkj.admin.student.model.dopo.StudentLoginTimesCountPo;
import com.ruoyi.common.base.biz.service.base.BaseService;
import com.ruoyi.system.domain.StudentLoginLog;

import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * 学员登录日志Service接口
 *
 * @author ruoyi
 * @since 2023-05-22
 */
public interface StudentLoginLogService
        extends BaseService<StudentLoginLog, StudentLoginLogDo, StudentLoginLogPo> {


    /**
     * 根据学员id和课程id 统计对应学员的登录次数信息
     *
     * @param studentIdList 学生id列表
     * @return 学员的登录次数信息列表
     */
    List<StudentLoginTimesCountPo> listCountLoginByStudentIdListAndCourseIdList(
            List<Long> studentIdList);

    /**
     * 获取在某段时间内，身份证对应的学员，登录的课程set
     *
     * @param idCardList 学生身份证列表
     * @param timeStart  在这个日期之后
     * @param timeEnd    在这个日期之前
     * @return
     */
    Map<String, Set<Long>> courseIdSetGroupByIdCard(List<String> idCardList, Date timeStart, Date timeEnd);
}
